<?php

namespace App\Http\Controllers\Wechat;

use App\Handlers\MessageLogHandler;
use EasyWeChat\Kernel\Messages\Message;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Log;

class IndexController extends Controller
{

    /**
     * 处理微信的请求消息
     *
     * @return string
     */
    public function serve(Request $request)
    {
        $app = app('wechat.official_account');
        $server  = $app->server;
        $server->push(MessageLogHandler::class,Message::TEXT);
        $server->push(function($message) use($app){
            switch ($message['MsgType']) {
                case 'event':
                    return '收到事件消息';
                    break;
                case 'text':
                    return "欢迎关注 Maxotm 个人公众号！";
                    break;
                case 'image':
                    return '收到图片消息';
                    break;
                case 'voice':
                    return '收到语音消息';
                    break;
                case 'video':
                    return '收到视频消息';
                    break;
                case 'location':
                    return '收到坐标消息';
                    break;
                case 'link':
                    return '收到链接消息';
                    break;
                case 'file':
                    return '收到文件消息';
                // ... 其它消息
                default:
                    return '收到其它消息';
                    break;
            }
        });
        $response = $server->serve();


        return $response;
    }
    //服务器配置验证token;
    public function checkToken()
    {
        // 使用配置来初始化一个公众号应用实例。
        $app = app('wechat.official_account');

        $response = $app->server->serve();
        Log::info($response);
        // 将响应输出
        return $response;
    }
}
